package com.opal.system.service;

import com.opal.domain.R;
import com.opal.domain.ReturnMessageData;
import com.opal.system.entity.table.OpalPermission;
import com.opal.system.entity.table.OpalRole;
import com.opal.system.entity.table.OpalUser;

import java.util.List;

public interface OpalRoleService {

	public	List<OpalRole> getByUserIdRoles(OpalUser user);

	/**
	 * 查询所有的角色
	 * @return
	 */
	public List<OpalRole> selectAllrole();

	/**
	 * 修改角色信息
	 * @param opalRole
	 * @return
	 */
	public R updateRoleService(OpalRole opalRole);

	/**
	 * 添加角色
	 * @param opalRole
	 * @return
	 */
	public R addRoleService(OpalRole opalRole);

	/**
	 * 删除角色
	 * @param opalRole
	 * @return
	 */
	public ReturnMessageData deleteRoleService(OpalRole[] opalRole);

	/**
	 * 查询所有的权限数据---easyui-table
	 * @return
	 */
	Object selectPermissionService();

	/**
	 * 给每一个权限分配角色
	 * @param permisssIds 权限id数组
	 * @param roleId 角色id
	 * @return
	 */
	Object updatePermissionRoleIdService(List<Long> permisssIds, Long roleId);

	/**
	 * 根据角色id查询权限数据
	 * @param roleId
	 * @return
	 */
	List<OpalPermission> selectPermissionByRoleIdservice(Long roleId);
}
